#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <stack>

using namespace std;

void initializeStack(stack<int> &st) {
	char c;
	while(scanf("%c",&)){
		
	}
	for (int i = 1; i <= 5; i++)
		st.push(i);
}

void addToStack(stack<int> &st, int i) {
	if (st.empty())
		st.push(i);
	else {
		int top = st.top();
		st.pop();
		addToStack(st, i);
		st.push(top);
	}
}

void reverseStack(stack<int> &st) {
	if (st.empty())
		return;

	int top = st.top();
	st.pop();
	reverseStack(st);
	addToStack(st, top);
}

void print(stack<int> st) {
	if (st.empty())
		return;
	else {
		int top = st.top();
		st.pop();
		print(st);
		cout << top << " ";
	}
}

int main() {
	stack<int> st;
	initializeStack(st);
	print(st);
	cout << endl;
	reverseStack(st);
	print(st);
}